xen/arm: vgic-v2: Don't crash the hypervisor if the SGI target mode is invalid
authorJulien Grall <julien.grall@linaro.org>
Fri, 23 Jan 2015 14:15:07 +0000 (14:15 +0000)
committerIan Campbell <ian.campbell@citrix.com>
Wed, 18 Feb 2015 10:26:13 +0000 (10:26 +0000)
commit97c4e77538f24786dc7521cdffb2b4d6e3dad7ed
treea014ecbe2ba0c8eb6be4acd4252dac3542fbc387
parent4f3d3612e6e1311440f0c268a7bf950d3c760839
xen/arm: vgic-v2: Don't crash the hypervisor if the SGI target mode is invalid

The GICv2 spec reserved the value 0b11 for GICD_SGIR.TargetListFilter.

Even if it's an invalid value, a malicious guest could write this value
and threfore crash the hypervisor.

Replace the BUG() by logging the error and inject a data abort to the guest.

This was introduced by commit ea37fd21110b6fbcf9257f814076a243d3873cb7
"xen/arm: split vgic driver into generic and vgic-v2 driver".

This is CVE-2015-0268 / XSA-117.

Signed-off-by: Julien Grall <julien.grall@linaro.org>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
xen/arch/arm/vgic-v2.c